// src/api/apiList/level.js
import axios from 'axios'

/**
 * 获取所有级别列表
 * @param {string} name 级别名称，可选
 * @param {string} status 级别状态，可选
 * @returns {Promise<Level[]>}
 */
export function listLevels(name = '', status = '') {
    const params = {}
    if (name) params.name = name
    if (status) params.status = status
    return axios.get('/level/list', { params })
}

/**
 * 根据 ID 获取单个级别的详细信息
 * @param {number|string} id 级别 ID
 * @returns {Promise<Level>}
 */
export function getLevel(id) {
    return axios({
        url: `/level/${id}`,
        method: 'GET'
    })
}

/**
 * 创建一个新级别
 * @param {Object} level 级别对象，字段示例：{ levelName, description, status }
 * @returns {Promise<void>}
 */
export function createLevel(level) {
    return axios({
        url: '/level/create',
        method: 'POST',
        data: level
    })
}

/**
 * 更新已有级别
 * @param {Object} level 级别对象，必须带 id，例如：{ id, levelName, description, status }
 * @returns {Promise<void>}
 */
export function updateLevel(level) {
    return axios({
        url: '/level/update',
        method: 'PUT',
        data: level
    })
}

/**
 * 删除级别
 * @param {number|string} id 级别 ID
 * @returns {Promise<void>}
 */
export function deleteLevel(id) {
    return axios({
        url: '/level/delete',
        method: 'DELETE',
        params: { id }
    })
}